package com.zy.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.bean.bo.project.ProjectCreateBo;
import com.zy.bean.bo.project.ProjectUpdateBo;
import com.zy.bean.po.ProjectRecords;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.bean.qo.ProjectSearchQo;
import com.zy.bean.vo.ProjectRecordsVo;

/**
 * @author hanhuafeng
 * @createDate 2023-05-31 15:37:36
 * @description 项目管理表
 */
public interface ProjectRecordsService extends IService<ProjectRecords> {
    /**
     * 创建项目
     *
     * @param projectCreateBo 项目创建bo
     * @return ProjectRecords
     */
    ProjectRecords createProjectRecords(ProjectCreateBo projectCreateBo);

    /**
     * 分页获取项目列表
     *
     * @param qo 查询条件
     * @return Page<ProjectRecordsVo>
     */
    Page<ProjectRecordsVo> getProjectRecordsByPage(ProjectSearchQo qo);

    /**
     * 根据项目code修改项目信息
     *
     * @param projectUpdateBo 项目修改bo
     * @param projectCode     项目code
     * @return ProjectRecords 项目信息
     */
    ProjectRecords updateProjectRecords(String projectCode, ProjectUpdateBo projectUpdateBo);

    /**
     * 根据项目code删除项目
     *
     * @param projectCode 项目code
     */
    void deleteProject(String projectCode);
}
